Multi-channel scanning system with common decoder

ABSTRACT

A multi-channel scanner having several photodetectors ( 12   a   -12   d ) and several lasers ( 10   a   -10   d ) for scanning along multiple paths ( 50   a   -50   d ) incorporates a separate input channel ( 26   a   -26   d ) for each photodetector. Each channel provides a sequence of data elements representing light reflected from points along the associated scanning path, and the data elements from each channel are stored in separate FIFO buffers ( 20   a   -20   d ). A multiplexer ( 22 ) takes data elements from the various buffers so as from a consolidated stream of data elements ( 80 ) incoporating the data elements from the various channels. This stream is processed in a single decoder ( 24 ) to recover data denoted by the bar code. Use of a single decoder minimizes the cost and size of the system.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional PatentApplication No. 60/197,709 filed Apr. 18, 2000 under 35 U.S.C. Section119(e).

TECHNICAL FIELD

The present invention relates to optical scanners such as bar codescanners.

BACKGROUND OF THE INVENTION

Optical scanners are widely used for reading data encoded in symbols onvarious items. One common application of optical scanning is in readingof one-dimensional bar code symbols such as Universal Product Code(“UPC”) symbols and other symbols in which information is represented bya set of marks in the form of parallel lines and spaces between themarks. Optical scanners are also used to read two-dimensional bar codesymbols such as the PDF417 code in which information is represented by arectilinear pattern of marks and spaces in the form of blocks, such thatthe pattern as a whole resembles an irregular checkerboard. Mostcommonly, the marks are dark and hence have low reflectivity, whereasthe spaces are light and hence have high reflectivity.

Optical scanners typically operate by directing a beam of light from asource such as a laser onto the object bearing the symbol and detectingthe intensity of the reflected light. The scanner typically incorporatesoptical elements which focus the beam of light to a relatively smallspot at the object bearing the symbol and which move the opticalelements so as to sweep the spot of light in a predetermined scanningpath across the object as, for example, in a series of parallel linesreferred to as “raster”. These scanners also include a photodetectorsuch as a photodiode or phototransistor which receives the lightreflected from the object. As the spot of light moves over the objectand encounters light and dark areas on the surface of the object, thephotodetector is exposed to reflected light from the spot and hence isexposed to light reflected from points on object surface along thescanning path. The amount of light reflected to the photodetector varieswith the reflectivity of the object surface at different points alongthe scanning path and the electrical signal produced by thephotodetector varies correspondingly. Similar effects can be achieved byoptical elements which limit the field of view of the photodetector toonly a small spot so that the photodetector is exposed only to the lightreflected by the object surface at the spot, and which sweep that spotalong the desired scanning path. Some scanners use both techniques, sothat both the illumination and the field of view of the photodetectorare limited to the same spot, and that spot is swept along the scanningpath.

The variations in the electrical signal from the photodetector typicallyare converted by known analog processing circuitry into a digital signalhaving a first or “space” value, (e.g., 0) when the spot is on a pointhaving high reflectivity and having a second or “mark” value (e.g., 1)when the spot is focused on a point having low reflectivity. The digitalvalues occurring at successive times represent the signal of thephotodetector at successive times and hence representing thereflectivity of the object surface at successive points along thescanning path. The digital signal typically is converted by a unitreferred to as a “digitizer” to a series of transition data elements,each such transition data element including data denoting the occurrenceof a transition from the mark value to the space value or vice-versa,and the time interval since the previous transition. Each such timeinterval represents the width of a mark (dark region) or a space (lightregion) on the object being scanned. Because the time interval datacommonly is obtained by counting cycles of a digital clock betweentransitions, the time interval data is commonly referred to as bar orspace “count” data. These values are supplied to a decoder which usesknown algorithms to recover from such values the information denoted bythe symbol, such as numbers in the case of a UPC code.

Many bar code scanners perform several scans along different paths atdifferent locations and/or at different orientations. For example, toread a one-dimensional bar code, the scanning path must extend acrossthe bars rather than parallel to the bars. When objects bearingone-dimensional bar codes are presented in random orientation relativeto the scanner, using several different scanning paths at differentorientations relative to the scanner increases the probability that atleast one scan path will be oriented correctly relative to the code oneach object. Also, the scanner may provide scanning paths at differentdistances from the scanner, so that objects presented at differentdistances from the scanner can be successfully scanned.

Such multi-path scanners commonly use multiple photodetectors. Forexample, one holographic bar code laser scanner disclosed in commonlyowned U.S. Pat. No. 5,984,185 uses multiple lasers and a separatephotodiode associated with each laser. Similar scanners are disclosed inU.S. patent application Ser. No. 09/251,568, filed Feb. 17, 1999 andU.S. patent application Ser. No. 08/573,949 filed Dec. 18, 1995, nowabandoned. The contents of the foregoing applications and patent areincorporated herein by reference.

Typically, a separate set of components including a photodiode, ananalog processing circuit, digitizer and decoder is associated with eachlaser. Such a set of components is referred to as a “channel”. Thedecoded information from each channel is then provided as input to amultiplexing microprocessor to derive a single output. The owner of thepresent application has practiced this method of signal detection,processing and decoding in its HoloTrak (registered trademark) line ofholographic bar code scanners.

This approach requires that each channel have a complete set of separatecircuitry, including a separate decoder for each channel. Moreover, anadditional microprocessor or other multiplexing device must be providedto combine the decoded information from the plural channels into asingle stream of decoded data for delivery to a host computer or otherdevice which uses the decoded information. These factors add to the sizeand cost of the scanner. Thus, still further improvement would bedesirable.

DISCLOSURE OF THE INVENTION

One aspect of the invention provides a scanner for scanning objectsbearing codes such as bar codes. A scanner according to this aspect ofthe invention desirably includes a plurality of input channels, eachsaid channel including a photodetector. Each input channel is arrangedto provide data elements representing light impinging on thephotodetector of such channel. The scanner also includes means forexposing the photodetectors of said channels to light from objects to bescanned so that the light impinging on the photodetector of each channelrepresents an optical property of objects to be scanned at a series ofpoints along a scanning path associated with such channel. As in aconventional scanner, the means for exposing most typically includes oneor more light sources such as one or more lasers, together with opticalelements for forming the emitted light from the sources into a pluralityof scanning beams, each focused at a spot, and for moving the spot ofeach beam along a scanning path. The photodetectors typically arearranged to receive light reflected from objects at the scanning paths,so that the light impinging on each photodetector at various timesrepresents the reflectivity of the object surface at points along thepath.

The scanner according to this aspect of the invention most preferablyincludes data stream means for outputting a stream of data elementsincluding data elements from the plural channels. The scanner furtherincludes a decoder operative to examine the stream of data elements andrecover information denoted by the data elements in the stream. In aparticularly preferred arrangement, only one such stream of dataelements is provided to only a single decoder. Because the same decoderhandles data from several input channels, it is not necessary to provideseparate decoders for each individual channel. This tends to reduce thesize and cost of the scanner. Also, where a single decoder is used,there is no need for additional elements to combine the outputs frommultiple decoders.

The data stream means desirably includes individual FIFO buffersassociated with individual input channels so that data elements fromeach channel are stored in the FIFO buffer associated with that channel,and a multiplexer which retrieves data elements from the outputs ofdifferent FIFO buffers at different times so as to form the stream ofdata elements. Most preferably, each input channel includes a signalprocessing and digitization circuit arranged to supply the data elementsas transition data elements, each such transition data element includingdata denoting a transition as mark-to-space or space-to-mark and datadenoting the duration of an interval between successive transitions.This provides data in the form commonly used by conventional decoders.Moreover, the data is effectively run-length encoded within eachchannel, thus drastically reducing the number of data elements whichmust be handled by the buffers and multiplexer or other elements used toconsolidate the data from different channels into the data stream.

Thus, in a particularly preferred arrangement, a scanner or bar codescanning system includes:

a plurality of laser light sources;

a plurality of optical input channels, each having,

-   -   (a) a photodetector;    -   (b) a signal processing circuit;    -   (c) a digitizer circuit; and    -   (d) a FIFO buffer; and

a single microprocessor for receiving the output from each opticalchannel and decoding the output to produce bar code symbol characterdata.

A further aspect of the invention provides methods of scanning objectsbearing codes such as bar codes. A method according to this aspect ofthe invention desirably includes the step of exposing a plurality ofphotodetectors, each associated with a separate input channel, to lightfrom objects to be scanned so that the light impinging on eachphotodetector represents an optical property of objects to be scanned ata series of points along a scanning path associated with suchphotodetector. Each such input channel provides data elementsrepresenting light impinging on the photodetector of such channel.

The method further includes forming a stream including data elementsfrom a plurality of the channels and examining the stream of dataelements in a decoder and recovering information denoted by the dataelements in the stream of samples. The method most typically includesthe step of storing data elements from each channel, such as in a bufferassociated with each channel. In this case, the step of forming a streamof data elements is performed by recovering the stored data elementsfrom each channel, such as by operating a multiplexer to direct dataelements from the buffer associated with each channel into the datastream at different times. The stream of data elements may include aplurality of separate series of data elements, the data elements withineach such series being data elements from a single one of said channels.As further discussed below, this permits decoding by standard decodersarranged to operate on data from a single channel. Methods according tothis aspect of the invention provide advantages similar to thosediscussed above in connection with the apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram depicting apparatus in accordancewith one embodiment of the invention.

FIG. 2 is a simplified diagrammatic view of certain optical componentsused in the apparatus of FIG. 1.

FIG. 3 is a diagram of a stream of data elements used in operation ofthe apparatus of FIGS. 1-2.

MODES FOR CARRYING OUT THE INVENTION

As shown in FIG. 1, a scanner according to one embodiment of the presentinvention includes multiple input channels 26 a, 26 b, 26 c, 26 d.Channel 26 a includes a photodetector 12 a, whereas each of the otherchannels includes a corresponding photodetector 12 b, 12 c, 12 d. Eachphotodetector 12 may be any conventional type of photodetector, such asphotodiode or phototransistor, which provides an electrical signalrepresenting light impinging on the photodetector.

The scanner further includes lasers 10 a-10 d and optical elements 11which are arranged to direct the light from each laser into space sothat the light from each laser is focused to a spot and the spot sweepsalong a preselected path in space. At the time depicted in FIG. 1, thespot of light from laser 10 a is sweeping along line 50 a, whereas thespot of light from laser 50 b is sweeping along line 50 b in a differentdirection, and the spot of light from lasers 10 c and 10 d is sweepingalong lines 50 c and 50 d, respectively. Lines 50 c and 50 d aredisposed at a different distance from the optical elements 11 of thescanning system than lines 50 a and 50 b. The optical elements 11 arealso arranged so that light reflected from the spot formed by light fromeach laser is directed into one photodetector. Thus, channel 26 a andits photodetector 12 a are associated with laser 10 a. Optical elements11 direct light from the spot formed by laser 10 a into photodetector 12a. Stated another way, the field of view of photodetector 12 a tracesthe same path 50 a as the spot of light from laser 10 a. Thus, as thisspot sweeps along path 50 a, photodetector 12 a will be exposed to lightreflected at a series of points along scanning path 50 a associated withchannel 26 a. At the time depicted in FIG. 1, an object 52 bearing a barcode 54 is disposed so that a surface of the object bearing the bar codeis present along path 50 a. Accordingly, the light reachingphotodetector 12 a will be light reflected from the code-bearing surfaceof object 52. In like manner, laser 10 b and path 50 b are associatedwith channel 26 b and photodetector 12 b, and hence the light reachingphotodetector 12 b will be light reflected from object surfaces alongpath 50 b. Similarly, laser 10 c and path 50 c are associated withchannel 26 c and photodetector 12 c, whereas laser 10 d and path 50 dare associated with channel 26 d and photodetector 12 d. At the timedepicted in FIG. 1, no object surface is present along paths 50 c and 50d, and hence the light reaching photodetectors 12 c and 12 d will bemeaningless background light. At other times, when an object to bescanned is presented in other positions, an object surface may becoincident with paths 50 c and 50 d.

Optical elements 11 may be of known type, as, for example, thosedisclosed in the aforementioned U.S. Pat. No. 5,984,185. FIG. 2 presentsa simplified diagrammatic view of such optical elements. Lasers 10 a-10d and photodetectors 12 a-12 d are fixedly mounted to a frame (notshown) so that the light from each laser is directed through a spot on adisk 60 bearing holograms 62, 64, 66,68, 70, and so that eachphotodetector receives light through a spot on the disk. Conventionaloptical elements such as lenses and/or mirrors (not shown) may beprovided in association with the lasers and photodetectors for directinglight to or from the holographic disk. The holograms focus and directthe outgoing light from the lasers, and the incoming light from theenvironment passing to each photodetector. The disk is rotated relativeto the frame, as by a motor (not shown) so the light passing from eachlaser 10 and to each photodetector 12 passes through different portionsof the disk at different times, causing the focal spot of each laser andthe spot viewed by each photodetector to sweep along the desired path.Depending on the arrangement of the holograms and associated elements,the paths swept by the spots associated with the various laser beams maybe entirely different from one another or may be replicates of oneanother offset in time, so that the spot associated with each beam is ata different position at any given time.

Input channel 26 a includes a pre-amplifier circuit 14, a signalprocessing circuit 16; and a digitizer for conversion to bar/space countdata 18. Preamplifier 14 is arranged to amplify the electrical signalsfrom the photodetector 12 a. The output from the photodetector 12 a andhence from preamplifier 14 is an analog signal which varies with time asthe associated laser beam spot sweeps along path 50 a and thephotodetector is exposed light reflected from various spots on theobject surface along the path. When the spot is aligned with alow-reflectivity, dark bar or mark on the object surface, the signalwill be relatively low, whereas when the spot is aligned with ahigh-reflectivity, light spot, the signal will be relatively high.

Signal processor 16 of channel 26 a receives this time-varying signaland outputs a signal which has either a first value (e.g., 1) denoting amark or a second value (e.g., 0) denoting a space. In effect, signalprocessor 16 converts the analog signal to a digital mark/space signal.Signal processor 16 can consist of a comparator which outputs the markvalue when the analog signal is above a preset threshold and whichoutputs the space value when the analog signal is below such threshold.Such a crude circuit, however, is susceptible to errors caused byartifacts such as changes in intensity of the associated laser,differences in the reflectivity of the object surface regionsconstituting the bar code, and changes in ambient light. Moreover, sucha crude circuit will change the output value from mark to space orvice-versa in response to every momentary change in the analog signal,such as brief pulses caused by electrical interference or otherartifacts. Numerous circuits are known in the bar code scanning art forprocessing the analog signals from a photodetector to provide amark/space signal while substantially suppressing effects due toartifacts in the signal. Any such circuit can be used. One such circuitis disclosed, for example, in U.S. Pat. No. 4,000,397, the disclosure ofwhich is incorporated by reference herein.

The mark/space signal from processor 16 of channel 26 a is supplied tothe digitizer 18 of that channel. The digitizer is also supplied withclock pulses from a system clock 60. The digitizer monitors themark/space signal and detects transitions in the value of such signal,from mark to space or vice-versa. The digitizer also counts clock pulsesbetween successive transitions. When a transition occurs, the digitizerproduces a transition data element including a sign value denoting thetransition as either a mark-to-space transition or a space-to-marktransition, and a time value denoting the duration of an intervalbetween the transition which has just occurred and the last previoustransition. The digitizer may include, for example, a counter adapted toreceive clock pulses from clock 60 and a state change circuit includingone or more sets of flip-flops and logic gates which changes state inresponse to a transition in the mark/space signal. A first latch andreset circuit may be arranged to capture the current value in thecounter, to provide the time value or count of clock pulses since thelast transition, and to reset the counter to zero, in response to eachoperation of the state change circuit. Also, a second latch circuit maybe arranged to capture the value of the mark/space signal immediatelyafter each operation of the state change circuit, as the sign value forthe transition. Other known circuits for detecting transitions in amark/space signal, counting clock pulses between transitions andproviding the sign value for each transition are known in the art. Forexample, the circuitry disclosed for performing these functions shown inU.S. Pat. No. 5,081,342, the disclosure of which is incorporated hereinby reference, may be used.

The other channels 26 b, 26 c and 26 d incorporate elements identical tothose of channel 26 a. Thus, each channel provides a succession ofdigital transition data elements, each such transition data elementincorporating a sign value and a duration or clock count value. The dataelements produced by each channel represent the light impinging on thephotodetector of such channel. Each data element represents a real orspurious mark or space. Where the light impinging on the photodetectorof a particular channel is light actually reflected from an objectsurface, the marks and spaces denoted by the data elements are realmarks and spaces on the object surface. In this case, the duration orclock count value within a data element signifies the time required forthe scanning spot moving along the associated scanning path to traversethe mark or space, and hence denotes the dimension of the mark or spacealong the scanning path.

A first-in, first-out (“FIFO”) buffer 20 is associated with eachchannel. Thus, buffer 20 a receives the succession of transition dataelements from channel 26 a at an input 21 a connected to the digitizer18 of channel 26 a and stores these data elements. The stored dataelements are supplied in the same order, at an output 23 a. The buffers20 b-20 d associated with channels 26 b-26 d operate in the same manner.A multiplexer 22 has inputs connected to the outputs of buffers 20 a-20d. The multiplexer has an output connection 25. Multiplexer 22 operatescyclically. Each cycle of the multiplexer includes a sampling intervalassociated with each channel. During the first sampling interval of acycle, the multiplexer conveys data elements from the output of buffer20 a, associated with channel 26 a, to the output connection 25 of themultiplexer. During the second, third and fourth sampling intervals ofeach cycle, the multiplexer conveys data elements from buffers 20 b, 20c and 20 d, respectively. Stated another way, the multiplexer retrievesor recovers data elements stored in the buffers.

As a result, a stream of data elements 80 (FIG. 3) appears at outputconnection 25. The stream 80 includes a series 82 a of data elements Afrom channel 26 a, followed by a series 82 b of data elements B fromchannel 26 b, which in turn is followed by a series 82 c of dataelements C from channel 26 c, which in turn is followed by a series 82 dof data elements D from channel 26 d. This pattern repeats on the nextcycle of the multiplexer, so that series 82 d is followed by a furtherstream 82 a′ of data elements from channel 26 d, and so on.

The output 25 of multiplexer 22 is connected to a decoder 24. Thedecoder may be of known type arranged to examine a series of transitiondata elements and recover encoded information denoted by such transitiondata elements. Merely by way of example, a fixed program decoder of thetype sold under the designation 6-1005415/NCR-8415 may be used torecover numeric information from transition data denoting the marks andspaces of a UPC or EAN bar code. Other known fixed program decoders andprogrammable decoders can be used to recover numeric or alphanumericinformation from transition data denoting other known one-dimensionaland two-dimensional bar codes. Although a full discussion of decoders isbeyond the scope of this disclosure, it should be appreciated that suchdecoders generally act to recognize patterns of such as theinterrelationships between different mark and/or space widths within aseries of such information.

Because each series of data elements 82 in the data stream 80 includestransition data elements denoting mark and space widths in the sameorder as they were generated by an individual channel, the same programsas conventionally used in decoding information from a single channelwill work in the same way with respect to data within each individualseries 82. Thus, when the decoder 24 encounters a series of transitiondata elements representing the mark and space widths associated with abar code in the correct order, it will supply the numeric values denotedby those data elements to a host computer or other device (not shown)connected to the output of the decoder. In the condition depicted inFIG. 1, path 50 a is properly aligned with the bar code 54 on an objectbeing scanned, and hence series 82 a; derived from scanning along path50 a, will contain a proper set of transition data elements recognizableto the decoder. Series 82 a′, also derived from scanning along path 50a, will contain similar information. The other series will containmeaningless sequences, and hence will be ignored by the decoder.

The conventional decoder typically cannot interpret data at junctionsbetween series. For example, the sequence of transition data elementsAAAABBBB encountered at the junction between series 82 a and 82 b inFIG. 3 is meaningless to the conventional decoder. The transition dataelements denoting a complete pattern of the type recognized by thedecoder desirably are present within an individual series. In the caseof a one-dimensional bar code, the maximum number of transition dataelements which would represent a single complete bar code corresponds tothe maximum number of meaningful marks and spaces encountered in asingle line passing through the code in the direction perpendicular tothe bars. Such maximum number is referred to herein as the “chainlength” of the code. For a two-dimensional bar code, the chain length isthe maximum number of meaningful marks and spaces encountered on asingle line through the bar code in the proper direction for reading thecode. The number of data elements in a single series 82 (the number ofconsecutive data elements from a single channel) should be greater thanthe chain length of the code to be read. The greater the length of eachseries, the greater the probability that a sequence of transition dataelements which actually represents a bar code will fall entirely withina single series. The maximum length of each series is determined by thesize of the individual buffers 20.

The transition data elements from each channel do not representmeaningful information at all times. For example, during intervals whenthe boundary between hologram 60 and hologram 62 is passing through thebeam from laser 10 a and the optical path to the associatedphotodetector 12 a, the laser beam, and/or the field of view of thephotodetector, may be blocked or deflected away from the region in spacewhere objects are to be read. Thus, the transition data elements fromchannel 26 a representing light impinging on photodetector 12 a duringthese intervals, referred to herein as “inactive intervals”, do notrepresent meaningful information. Transition data elements representinglight impinging on photodetector 12 a during other intervals, referredto herein as “active” intervals, will represent meaningful information,if an object is present in correct alignment with the associated scanpath 50 a. Each of the other channels has similar active and inactiveintervals. Most preferably, each series 82 in data stream 80 includestransition data elements from at least one complete active interval ofthe associated channel, and the transition data elements from eachactive interval of a given channel are contained within a single series82 within the data stream. To assure this, the multiplexer 22 may besynchronized with the optical elements 11. For example, a rotaryposition encoder or other element mechanically connected to the hologramdisk 60 may trigger the multiplexer to switch between differentchannels. Alternatively, the optical elements can be driven insynchronism with the clock 60 which controls operation of themultiplexer.

The structures and methods discussed above may be varied. For example,the digitizer 18 of each channel can be arranged to convert themark/space signal from the associated processor 16 into a series ofone-bit mark or space values representing the output of the channel atpreselected sampling times. These mark and space data elements can bemultiplexed in the same way as the transition data elements discussedabove. In this arrangement, the microcontroller or decoder 24 handlesthe task of detecting transitions between mark and space, and countingthe duration of each mark and space, as by counting the number of dataelements between transitions. This approach requires that the buffersand multiplexer handle many more individual data elements. By contrast,where the data elements are transition data elements as discussed above,the data is effectively run-length encoded and hence compressed. In afurther variant, the data elements supplied by each channel may be inthe form of a series of digital real numbers directly representingintensity of the light impinging on the photodetector of the channel ata series of sampling intervals. For example, the analog output of thephotodetector can be passed directly to a multi-bit analog-to-digitalconverter. The resulting multi-bit digital values constitute the dataelements. In this embodiment, the task of translating intensity valuesto mark/space information is also handled by the decoder. Thus, thedecoder desirably is programmed to provide artifact rejection functionscorresponding to those performed by the signal processors 16 asdiscussed above. In a further, distinctly less preferred variant, thebuffers and multiplexer can be constructed to handle analog signals.

It is not essential to provide the data stream from the multiplexer withdata elements from individual channels arranged in separate series asdiscussed above. For example, the multiplexer can be arranged toincorporate single data elements from each channel in the data stream,so that the data stream has the configuration ABCDABCD . . . , where Arepresents a data element from channel 26 a, B represents a data elementfrom channel 26 b, and so on. In this approach, it is not necessary tostore the data elements prior to multiplexing. Where a mixed data streamof this nature is used, the decoder or microcontroller 24 should bearranged to segregate the data elements and form separate series of dataelements for pattern recognition purposes. For example, the decoder caninclude separate buffers for recording the incoming data elements fromeach channel, or separate memory locations for recording calculationresults based on data elements in different series.

The FIFO buffers and multiplexer discussed above can be replaced byother data-handling elements. Merely by way of example, the dataelements from the various channels can be written into a random-accessmemory instead of into a FIFO buffer. Provided that the system maintainsa record of the memory locations where data elements from each channelare stored, or writes the data elements into memory locations in apreselected order of locations, the data elements can be read out of thememory in a data stream as discussed above by accessing the memorylocations in the desired order. Any other form of memory can be used ina similar manner. However, the arrangement using FIFO buffers and amultiplexer is economical and simple to implement.

In the systems discussed above, only one stream of data elements isprovided to a single decoder. However, where the capacity of the decoderis insufficient to handle all of the data from all of the variouschannels, two or more data streams can be provided to two or moredecoders. At least one of these data streams should include data frommultiple channels, and the number of decoders should be fewer than thenumber of channels. As will be appreciated, any number of channels canbe provided in the scanner.

The holographic optical components discussed above are merely exemplary.The optical components may include other conventional elements such asfixed and/or moving mirrors, lenses and combinations of these. It is notessential to provide a separate source of illumination such as a laser10 or other light source for each channel; the light from a singlesource can be split into multiple beams, so that a single source ofillumination such as a laser, light emitting diode or lamp serves as thelight source for all of the channels. Also, the invention can be appliedin systems where one or more light sources provide illumination over alarge region in space and the field of view of the photodetector in eachchannel is limited to a spot associated with such channel. In thisarrangement as well, conventional optical components act to sweep thefield of view of each photodetector in a preselected pattern. Indeed theinvention can be applied in systems where the spot associated with eachchannel is fixed relative to the housing of the apparatus and scanningaction is achieved by moving objects bearing symbols to be scannedrelative to the housing. Also, in each of the systems discussed above,the photodetectors are exposed to light reflected from the objectsurfaces. However, the optical components may be arranged so that lightis transmitted through a wall of an object to be scanned en route to thephotodetectors. In this case, the light will vary in accordance with thetransmissivity of the object wall, rather than the reflectivity. Otherbar code scanners may be arranged to use light emitted by the object as,for example, where the bar code is present as a fluorescent marking, sothat the photodetectors are exposed to light representing the intensityof fluorescence. The invention can be applied in scanners which use anyoptical property.

As these and other variations and combinations of the features discussedabove can be utilized without departing from the present invention, theforegoing description of the preferred embodiments should be taken byway of illustration rather than by way of limitation of the invention asdefined by the claims.

INDUSTRIAL APPLICABILITY

The invention can be applied in various industries including wholesaleand retail trade.

1. A scanner comprising: (a) a plurality of input channels, each saidchannel including a photodetector, each such channel providing dataelements representing light impinging on the photodetector of suchchannel, each such channel including a signal processing anddigitization circuit connected to the photodetector, wherein the signalprocessing and digitization circuit of each said channel is arranged tosupply said data elements as transition data elements, each suchtransition data element including data denoting a transition asmark-to-space or space-to-mark and data denoting the duration of aninterval between successive transitions; (b) means for exposing thephotodetectors of said channels to light from objects to be scanned sothat the light impinging on the photodetector of each channel representsan optical property of objects to be scanned at a series of points alonga scanning path associated with such channel; (c) data stream means foraccepting data elements from each channel and outputting a stream ofdata elements including data elements from said plurality of channels;and (d) a decoder operative to examine said stream of data elements andrecover information denoted by the data elements in said stream; whereinsaid data stream means is operative to provide said stream of dataelements so that series of data elements from different channels areprovided in alternating sequence, with a series of data elements fromone channel followed by another series of data elements from a differentchannel.
 2. A scanner comprising: (a) a plurality of input channels,each said channel including a photodetector, each such channel providingdata elements representing light impinging on the photodetector of suchchannel, each such channel including a signal processing anddigitization circuit connected to the photodetector, wherein the signalprocessing and digitization circuit of each said channel is arranged tosupply said data elements as transition data elements, each suchtransition data element including data denoting a transition asmark-to-space or space-to-mark and data denoting the duration of aninterval between successive transitions; (b) means for exposing thephotodetectors of said channels to light from objects to be scanned sothat the light impinging on the photodetector of each channel representsan optical property of objects to be scanned at a series of points alonga scanning path associated with such channel; (c) data stream means foraccepting data elements from each channel and outputting a stream ofdata elements including data elements from said plurality of channels;and (d) a decoder operative to examine said stream of data elements andrecover information denoted by the data elements in said stream, whereinsaid data stream means includes a FIFO buffer associated with each saidchannel and having an input connected to the processing and digitizationcircuit of such channel and an output, said data stream means furtherincluding a multiplexer having inputs connected to the outputs of theFIFO buffers associated with all of said channels and an outputconnected to said processor.
 3. A method of scanning objects bearingcodes comprising: (a) exposing a plurality of photodetectors, eachassociated with a separate input channel, to light from objects to bescanned so that the light impinging on each photodetector represents anoptical property of objects to be scanned at a series of points along ascanning path associated with such photodetector; (b) operating eachsuch input channel to provide transition data elements representinglight impinging on the photodetector of such channel, each suchtransition data element including data denoting a transition asmark-to-space or space-to-mark and data denoting the duration of aninterval between successive transitions for such channel; (c) storingdata elements from each channel; (d) forming a stream of said dataelements including data elements from a plurality of said channels byrecovering said stored data elements from each channel and providing aplurality of series of data elements, the data elements within each suchseries being data elements from a single one of said channels; and (e)examining said stream of data elements in a decoder and recoveringinformation denoted by the data elements in said stream of dataelements; wherein said series of data elements from different channelsare provided in alternating sequence in said stream of data elements,with a series of data elements from one channel followed by anotherseries of data elements from a different channel.
 4. A method ofscanning objects bearing codes comprising: (a) exposing a plurality ofphotodetectors, each associated with a separate input channel, whereineach said channel is associated with a separate FIFO buffer, to lightfrom objects to be scanned so that the light impinging on eachphotodetector represents an optical property of objects to be scanned ata series of points along a scanning path associated with suchphotodetector; (b) operating each such input channel to providetransition data elements representing light impinging on thephotodetector of such channel, each such transition data elementincluding data denoting a transition as mark-to-space or space-to-markand data denoting the duration of an interval between successivetransitions for such channel; (c) storing data elements from eachchannel, including inputting the data elements from each said channel tothe FIFO buffer associated with such channel in temporal order; (c)forming a stream of said data elements including data elements from aplurality of said channels by recovering said stored data elements fromeach channel and providing a plurality of series of data elements, thedata elements within each such series being data elements from a singleone of said channels, including outputting samples from one of said FIFObuffers at a time; and (d) examining said stream of data elements in adecoder and recovering information denoted by the data elements in saidstream of data elements.
 5. A method of scanning objects bearing codescomprising: (a) exposing a plurality of photodetectors, each associatedwith a separate input channel, wherein each said channel is associatedwith a separate FIFO buffer, to light from objects to be scanned so thatthe light impinging on each photodetector represents an optical propertyof objects to be scanned at a series of points along a scanning pathassociated with such photodetector; (b) operating each such inputchannel to provide transition data elements representing light impingingon the photodetector of such channel, each such transition data elementincluding data denoting a transition as mark-to-space or space-to-markand data denoting the duration of an interval between successivetransitions for such channel; (c) storing data elements from eachchannel including inputting the data elements from each said channel tothe FIFO buffer associated with such channel in temporal order; (c)forming a stream of said data elements including data elements from aplurality of said channels by recovering said stored data elements fromeach channel and providing a plurality of series of data elements, thedata elements within each such series being data elements from a singleone of said channels, including outputting samples from one of said FIFObuffers at a time; and (d) examining said stream of data elements in adecoder and recovering information denoted by the data elements in saidstream of data elements; wherein said series of data elements fromdifferent channels are provided in alternating sequence in said streamof data elements, with a series of data elements from one channelfollowed by another series of data elements from a different channel.